package com.ruoyi.web.controller.product.service;

import com.ruoyi.common.core.domain.Ztree;
import com.ruoyi.common.entity.DTO.ProductExportDTO;
import com.ruoyi.common.entity.DTO.ProductInsertDTO;
import com.ruoyi.common.entity.VO.product.ProductSearchVO;
import com.ruoyi.common.entity.VO.product.ProductVO;

import java.util.List;

public interface IBackProductService {

    List<ProductVO> searchProductList(ProductSearchVO productSearchVO);

    List<Ztree> selectProductTree();

    /**
     * 根据商品ID查询信息
     *
     * @param productId 商品ID
     * @return 商品信息
     */
    ProductVO getProductInfoById(Long productId);

    /**
     * 校验商品名称是否唯一
     *
     * @param productSearchVO 商品查询信息
     * @return 结果
     */
    String checkProductNameUnique(ProductSearchVO productSearchVO);

    /**
     * 新增商品
     *
     * @param productVO 商品信息
     * @return 结果
     */
    int insertProduct(ProductVO productVO);

    /**
     * 修改商品信息
     *
     * @param productVO 商品信息
     * @return 结果
     */
    int updateProduct(ProductVO productVO);

    /**
     * 删除商品
     *
     * @param id 商品ID
     * @return 结果
     */
    int deleteProductById(Long id);
}
